package com.example.dbmeta.controller;
import com.example.dbmeta.api.vo.Result;
import com.example.dbmeta.meta.jpacolumn.MetaColumnService;
import com.example.dbmeta.meta.jpatable.MetaTableService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Slf4j
@Controller
public class MetaController {

    @Autowired
    private MetaColumnService metaColumnService;

    @Autowired
    private MetaTableService metaTableService;

    // http://127.0.0.1:8066/tabledatainfo
    @RequestMapping("/tabledatainfo")
    @ResponseBody
    public Result<?> tabledatainfo() throws Exception {

        log.info("开始执行 表数据的抽取");
        long startTime = System.currentTimeMillis(); // 记录开始时间
        metaTableService.execute();
        long endTime = System.currentTimeMillis();   // 记录结束时间
        long duration = endTime - startTime;         // 计算执行时间（单位：毫秒）
        //System.out.printf("保存完成,方法执行耗时: " + duration + " 毫秒，"+"分钟数：%.2f%n"+duration/1000.0/60); // 打印执行时间
        System.out.printf("保存完成,方法执行耗时: %d 毫秒，分钟数：%.2f%n", duration, duration / 1000.0 / 60);
        return Result.OK("保存完成");
    }
    // http://127.0.0.1:8066/columndatainfo
    @RequestMapping("/columndatainfo")
    @ResponseBody
    public Result<?> columndatainfo() throws Exception {
        long startTime = System.currentTimeMillis(); // 记录开始时间
        log.info("开始执行 字段的抽取");
        metaColumnService.getallcolumnsinfo();
        long endTime = System.currentTimeMillis();   // 记录结束时间
        long duration = endTime - startTime;         // 计算执行时间（单位：毫秒）
        System.out.printf("保存完成,方法执行耗时: %d 毫秒，分钟数：%.2f%n", duration, duration / 1000.0 / 60);
        //System.out.printf("保存完成,方法执行耗时: " + duration + " 毫秒，"+"分钟数：%.2f%n"+duration/1000.0/60); // 打印执行时间
        return Result.OK("保存完成");
    }

}
